In modern computer systems, a file system stores and organizes computer files to enable a user to efficiently locate and access requested files. File systems can utilize a storage device such as a hard disk drive to provide local access or provide access to data stored on a remote file server. A file system can also be characterized as a set of abstract data types that are implemented for the storage, hierarchical organization, manipulation, navigation, access, and retrieval of data. The file system software is responsible for organizing files and directories.
Many companies and individuals with large amounts of stored data employ a file system as a data storage system. These data storage systems can be located local to the data to be backed up or at a remote site. The data storage systems can be managed by the entity controlling the primary data storage devices or a data storage service company. Data can be added to the storage system at any frequency and at any amount.
In a traditional backup system, the system bundles an entire file system—including both changed and unchanged data—into a single consolidated backup file and sends the consolidated backup file to backup storage at a backup server. In a virtual synthetic system, only modified files are sent to storage at a protective server. At the protective server of the virtual synthetic system, the virtual synthetic backup file is created using a file recipe (i.e., a blueprint for the construction of the file) by combining the changed data received from a client with the unchanged data already residing at the protective server. Consequently, performance of a virtual synthetic system is sensitive to the locations of changed data. Because changed data in real world file systems tends to be localized within small regions of the entire file system, simulating data changes that are also localized within small regions of a synthetic file system provides more accurate performance indicators by paralleling real world scenarios.